--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
lang/README.ja.md v4.4.0-rc.1 (3e06f582) Text, 9.11 KB
Reticulum MeshChatX
Liam Cottle 氏による Reticulum MeshChat を大幅に改修・機能拡張したフォークです。
本プロジェクトはオリジナルの Reticulum MeshChat とは独立しており、提携関係にありません。
• ソースコード: git.quad4.io/RNS-Things/MeshChatX
• 変更履歴: CHANGELOG.md
• TODO: TODO.md
重要事項
• LXMF の完全サポートがプロジェクトの中核目標です。
• データ保存とマイグレーションは段階的に直接 SQL へ移行中です(レガシーの Peewee ORM パスを置換)。
│ [!WARNING] MeshChatX は旧バージョンの Reticulum MeshChat
│ とのデータ互換性を保証しません。マイグレーションやテスト前にデータをバックアップしてください。
│ [!WARNING] レガシーシステムはまだ完全にはサポートされていません。現在の最低要件: Python
│ T383838>=3.11、Node T383838>=24。
デモとスクリーンショット
<video src="https://strg.0rbitzer0.net/raw/62926a2a-0a9a-4f44-a5f6-000dd60deac1.mp4" controls="controls" style="max-width: 100%;"></video>
UI プレビュー
必要条件
• Python T383838>=3.11(T383838pyproject.toml より)
• Node.js T383838>=24(T383838package.json より)
• pnpm T38383810.32.1(T383838package.json より)
• Poetry(T383838Taskfile.yml および CI ワークフローで使用)
インストール方法
┌──────────────────────────┬────────────────────┬───────────────────────────────────────┬──────────┐
│ 方法 │ フロントエンド含む │ アーキテクチャ │ 最適な… │
├──────────────────────────┼────────────────────┼───────────────────────────────────────┼──────────┤
│ Docker イメージ │ はい │ T383838linux/amd64, T383838linux/arm64 │ Linux … │
│ Python wheel (T383838.whl) │ はい │ Python がサポートする全アーキテクチャ │ Node ビ… │
│ Linux AppImage │ はい │ T383838x64, T383838arm64 │ ポータ… │
│ Debian パッケージ (T383838.deb) │ はい │ T383838x64, T383838arm64 │ Debian/… │
│ RPM パッケージ (T383838.rpm) │ はい │ CI 依存 │ Fedora/… │
│ ソースから │ ローカルビルド │ ホストアーキテクチャ │ 開発・… │
└──────────────────────────┴────────────────────┴───────────────────────────────────────┴──────────┘
備考:
• リリースワークフローは Linux T383838x64 および T383838arm64 の AppImage + DEB を明示的にビルドします。
• RPM もビルドが試みられ、成功時にアップロードされます。
クイックスタート: Docker
T282828
docker compose up -d
デフォルトの compose ファイル:
• ホスト T383838127.0.0.1:8000 -> コンテナポート T3838388000
• T383838./meshchat-config -> T383838/config(永続化用)
権限エラーが発生した場合:
T282828
sudo chown -R T79c0ff1000:1000 ./meshchat-config
リリースアーティファクトからのインストール
1) Linux AppImage (x64/arm64)
1. リリースから T383838ReticulumMeshChatX-v<バージョン>-linux-<アーキテクチャ>.AppImage をダウンロード。
2. 実行権限を付与して起動:
T282828
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage
2) Debian/Ubuntu T383838.deb (x64/arm64)
1. T383838ReticulumMeshChatX-v<バージョン>-linux-<アーキテクチャ>.deb をダウンロード。
2. インストール:
T282828
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb
3) RPM ベースのシステム
1. リリースに T383838ReticulumMeshChatX-v<バージョン>-linux-<アーキテクチャ>.rpm がある場合はダウンロード。
2. インストール:
T282828
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm
4) Python wheel (T383838.whl)
リリースの wheel にはビルド済みの Web アセットが含まれています。
T282828
pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchat --headless
T383838pipx もサポート:
T282828
pipx install ./reticulum_meshchatx-*-py3-none-any.whl
ソースからの実行(Web サーバーモード)
T282828
git clone https://git.quad4.io/RNS-Things/MeshChatX.git
Tffa657cd MeshChatX
corepack Tffa657enable
pnpm install
pip install poetry
poetry install
pnpm run build-frontend
poetry run meshchat --headless --host T79c0ff127.0.0.1
サンドボックスで実行(Linux)
ネイティブの T383838meshchat バイナリを、ファイルシステムをより隔離した状態で動かすには、Reticulum と Web UI 向けの通常のネットワークアクセスを保ちつつ Firejail または Bubblewrap(T383838bwrap)を使えます。詳しい例(pip/pipx、Poetry、USB シリアルの注意)は次を参照してください。
同じページは、同梱または同期された T383838meshchatx-docs から配信される場合、アプリ内の ドキュメント(MeshChatX ドキュメント)一覧にも表示されます。
ソースからのデスクトップパッケージビルド
Linux x64 AppImage + DEB
T282828
pnpm run dist:linux-x64
Linux arm64 AppImage + DEB
T282828
pnpm run dist:linux-arm64
RPM
T282828
pnpm run dist:rpm
アーキテクチャサポート
• Docker: T383838amd64, T383838arm64
• Linux AppImage: T383838x64, T383838arm64
• Linux DEB: T383838x64, T383838arm64
• Windows: T383838x64, T383838arm64(ビルドスクリプトあり)
• macOS: ビルドスクリプトあり(T383838arm64, T383838universal)
• Android: リポジトリにプロジェクトと CI ワークフローあり
Android
設定
┌───────────────┬──────────────────────┬────────────┬────────────────────────────────────┐
│ 引数 │ 環境変数 │ デフォルト │ 説明 │
├───────────────┼──────────────────────┼────────────┼────────────────────────────────────┤
│ T383838--host │ T383838MESHCHAT_HOST │ T383838127.0.0.1 │ Web サーバーバインドアドレス │
│ T383838--port │ T383838MESHCHAT_PORT │ T3838388000 │ Web サーバーポート │
│ T383838--no-https │ T383838MESHCHAT_NO_HTTPS │ T383838false │ HTTPS を無効化 │
│ T383838--headless │ T383838MESHCHAT_HEADLESS │ T383838false │ ブラウザを自動で開かない │
│ T383838--auth │ T383838MESHCHAT_AUTH │ T383838false │ 基本認証を有効化 │
│ T383838--storage-dir │ T383838MESHCHAT_STORAGE_DIR │ T383838./storage │ データディレクトリ │
│ T383838--public-dir │ T383838MESHCHAT_PUBLIC_DIR │ 自動 │ フロントエンドファイルディレクトリ │
└───────────────┴──────────────────────┴────────────┴────────────────────────────────────┘
ブランチ
┌──────────┬──────────────────────────────────────────────────────────────┐
│ ブランチ │ 目的 │
├──────────┼──────────────────────────────────────────────────────────────┤
│ T383838master │ 安定版リリース。本番環境対応コードのみ。 │
│ T383838dev │ 活発な開発中。不安定または不完全な変更を含む場合があります。 │
└──────────┴──────────────────────────────────────────────────────────────┘
開発
T282828
task install
task lint:all
task test:all
task build:all
セキュリティ
言語の追加
ロケールの検出は自動です。新しい言語を追加するには JSON ファイル1つだけで済みます:
1. T383838en.json からテンプレートを生成:
T282828
python scripts/generate_locale_template.py
2. ファイル名を変更しロケールディレクトリに移動:
T282828
mv locales.json meshchatx/src/frontend/locales/xx.json
3. ファイル先頭の T383838_languageName にその言語の母語名を設定 (例: T383838"Espanol", T383838"Francais")。
4. 残りの値をすべて翻訳。
5. キーの整合性を確認: T383838pnpm test -- tests/frontend/i18n.test.js --run
他のコード変更は不要です。
クレジット
• Liam Cottle - オリジナル Reticulum MeshChat
• RFnexus - JavaScript Micron パーサー
• markqvist - Reticulum, LXMF, LXST
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────